import Vue from 'vue'

// 引入基础css样式初始化文件
import 'normalize.css/normalize.css'

// 引入element-ui及相关的资源
import ElementUI from 'element-ui'
// element-ui css样式
import 'element-ui/lib/theme-chalk/index.css'
// element-ui英文语音包
// import locale from 'element-ui/lib/locale/lang/en'

// 全局样式文件
import '@/styles/index.scss'

// 项目全局根组件
import App from './App'
// vuex
import store from './store'
// 路由
import router from './router'
// 导入注册自定义插件
import myPlugin from '@/components'
Vue.use(myPlugin)

// 导入Print插件
import Print from 'vue-print-nb'
Vue.use(Print)

// 自定义指令,换头像
import * as directives from '@/directives'
// console.log(directives, 'directives')
// console.log(Object.keys(directives)) // ['focus','imgerror']
Object.keys(directives).forEach((key) => {
  Vue.directive(key, directives[key])
})

// 引入字体图标
import '@/icons' // icon
// 权限控制代码 ---> 导航守卫  router.befoEach()
import '@/permission'

// 多语言
import i18n from '@/lang/index'

// 全局注册Element并且配置语言包
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI)

Vue.config.productionTip = false

// 创建vue的实例
new Vue({
  el: '#app', // 挂载模板文件中dom元素
  router, // 全局挂载路由实例  .vue文件中就可以直接使用 this.$router获取
  i18n, // 在全局挂载i18n
  store, // 全局挂载vuex实例  .vue文件中就可以直接使用 this.$store获取 store对象
  render: h => h(App) // render渲染函数,会将App.vue文件 进行渲染
})
